The rise of the computer age has resulted in increased access to services online. As the cost of electronics and networks drop, many services that were previously provided in person are now provided remotely over the Internet. For example, banking services have increasingly shifted to the online space with customers able to access banking services over a communication network. Similarly, electronic mail (e-mail) has reduced the need for letters to be physically delivered. Instead, messages can be sent over networked systems almost instantly.
Some computer systems supply numbers for various purposes. For example, a computer system can be responsible for generating citizen identification numbers or order identification numbers. In some cases these numbers can be generated in a strictly sequential manner (e.g., each generated number is exactly one integer value greater than the previously generated number). When this is the case, it is relatively easy to store the current position and generate each subsequent number.
However, in some cases the generated numbers are not strictly sequential. In this case, the computer system is unable to quickly determine the next available number that the computer system should allocate. For example, in some cases, some numbers are given out by individual third party vendors who are not connected to the computer system and submitted to the computer system later. In this case, the computer system needs to search the space of potentially available numbers to identify one or more currently available numbers.
Like reference numerals refer to the same or similar parts throughout the drawings.